﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DTO;
using DAO;
using BUS;

namespace giaodien
{
    public partial class themxoasuadichvu : Form
    {
        public themxoasuadichvu()
        {
            InitializeComponent();
        }

        private void txtdongia_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (char.IsDigit(e.KeyChar) == false && char.IsControl(e.KeyChar) == false)
            {
                e.Handled = true;
            }
        }

        private void button7_Click(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Minimized;
        }

        private void button6_Click(object sender, EventArgs e)
        {
            dichvu frm = new dichvu();
            DialogResult d = MessageBox.Show("Bạn Có Muốn Thoát", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (d == DialogResult.Yes)
            {
                this.Close();
                frm.Show();
            }
        }

        private void themxoasuadichvu_MouseDown(object sender, MouseEventArgs e)
        {
            dichchuyen.MouseDown(e);
        }

        private void themxoasuadichvu_MouseUp(object sender, MouseEventArgs e)
        {
            dichchuyen.MouseUp();
        }

        private void themxoasuadichvu_MouseMove(object sender, MouseEventArgs e)
        {
            dichchuyen.MouseMove(this, MousePosition.X, MousePosition.Y);
        }
        int key = -1;
        private void nutthemnv_Click(object sender, EventArgs e)
        {
            key = 0;
            txtmadv.Text = "";
            txtmadv.ReadOnly = false;
            txttendv.Text = "";
            txttendv.ReadOnly = false;
            txtdongia.Text = "";
            txtdongia.ReadOnly = false;
        }

        private void nutsuanv_Click(object sender, EventArgs e)
        {
            if (listdsdv.SelectedItems.Count == 0)
                MessageBox.Show("Vui lòng chọn dịch vụ cần sửa");
            else
            {
                key = 1;
                txttendv.ReadOnly = false;
                txtdongia.ReadOnly = false;
            }
        }

        private void nutluunv_Click(object sender, EventArgs e)
        {
            if (key == 0)
            {
                if (txtmadv.Text == "" || txttendv.Text == "" || txtdongia.Text == "")
                {
                    MessageBox.Show("Vui lòng nhập hết thông tin", "Thông báo");
                }
                else
                {
                    DataSet ds = new DataSet();
                    dichvu_DTO dv = new dichvu_DTO();
                    dv.madv = txtmadv.Text;
                    dv.tendv = txttendv.Text;
                    dv.dongia = int.Parse(txtdongia.Text);
                    if (dichvu_BUS.themdichvu(dv) == true)
                    {
                        MessageBox.Show("Thêm thành công","Thông báo");
                        ds = dichvu_BUS.loaddichvuvaolist();
                        hienthidichvulist(ds,listdsdv);
                        txtmadv.ReadOnly = true;
                        txttendv.ReadOnly = true;
                        txtdongia.ReadOnly = true;
                        key = -1;
                    }
                    else
                        MessageBox.Show("Thêm không thành công", "Thông báo");
                }
            }
            if (key == 1)
            {
                if (txtmadv.Text == "" || txttendv.Text == "" || txtdongia.Text == "")
                {
                    MessageBox.Show("Nhập hết thông tin đi cưng", "Thông báo");
                }
                else
                {
                    DataSet ds = new DataSet();
                    dichvu_DTO dv = new dichvu_DTO();
                    dv.madv = txtmadv.Text;
                    dv.tendv = txttendv.Text;
                    dv.dongia = int.Parse(txtdongia.Text);
                    DialogResult d = MessageBox.Show("Bạn có muốn sửa", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (d == DialogResult.Yes)
                    {
                        if (dichvu_BUS.suadichvu(dv) == true)
                        {
                            MessageBox.Show("Sửa thành công", "Thông báo");
                            ds = dichvu_BUS.loaddichvuvaolist();
                            hienthidichvulist(ds, listdsdv);
                            txttendv.ReadOnly = true;
                            txtdongia.ReadOnly = true;
                            key = -1;
                        }
                        else
                            MessageBox.Show("Sửa không thành công", "Thông báo");
                    }
                }
            }
        }

        private void nutthoat_Click(object sender, EventArgs e)
        {
            DialogResult d = MessageBox.Show("Bạn Có Muốn Thoát", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (d == DialogResult.Yes)
            {
                this.Close();
            }
        }
        void hienthidichvulist(DataSet ds, ListView danhsach)
        {
            danhsach.Items.Clear();
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                ListViewItem lvw = new ListViewItem();
                lvw.Text = ds.Tables[0].Rows[i][0].ToString();
                for (int j = 1; j < ds.Tables[0].Columns.Count; j++)
                {
                    if (ds.Tables[0].Rows[i][j].ToString() != "")
                    {
                        lvw.SubItems.Add(ds.Tables[0].Rows[i][j].ToString());
                    }
                    else
                        lvw.SubItems.Add("");
                }
                danhsach.Items.Add(lvw);
            }
        }
        void laysukienkhimousedown(ListView danhsachmousedown, object sender, MouseEventArgs e)
        {
            if (key == 0)
                MessageBox.Show("Bạn khổng thể chọn dịch vụ khi đã nhấn thêm");
            else
            {
                if (e.Button != MouseButtons.Right)
                {
                    ListViewItem lvw = listdsdv.GetItemAt(e.X, e.Y);
                    if (lvw != null)
                    {
                        txtmadv.Text = lvw.SubItems[0].Text;
                        txttendv.Text = lvw.SubItems[1].Text;
                        txtdongia.Text = lvw.SubItems[2].Text;
                    }
                }
            }
        }
        private void themxoasuadichvu_Load(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            ds = dichvu_BUS.loaddichvuvaolist();
            hienthidichvulist(ds, listdsdv);
        }

        private void listdsdv_MouseDown(object sender, MouseEventArgs e)
        {
            laysukienkhimousedown(listdsdv,sender,e);
        }

        private void nutxoadv_Click(object sender, EventArgs e)
        {
            if (listdsdv.SelectedItems.Count == 0)
                MessageBox.Show("Vui lòng chọn dịch vụ cần xóa");
            else
            {
                if (key == 0 || key == 1)
                    MessageBox.Show("Bạn không thể xóa dịch vụ khi đã nhấn thêm hoặc sửa","Thông Báo");
                else
                { 
                DataSet ds = new DataSet();
                foreach (ListViewItem lvw in listdsdv.SelectedItems)
                {
                    if (lvw != null)
                    {
                        dichvu_DTO dv = new dichvu_DTO();
                        dv.madv = lvw.Text;
                        DialogResult d = MessageBox.Show("Bạn có chắc muốn xóa", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (d == DialogResult.Yes)
                        {
                            if (dichvu_BUS.xoadichvu(dv) == true)
                            {

                                MessageBox.Show("Xóa thành công");
                                ds = dichvu_BUS.loaddichvuvaolist();
                                hienthidichvulist(ds, listdsdv);
                                txtdongia.Text = "";
                                txtmadv.Text = "";
                                txttendv.Text = "";
                                key = -1;
                            }
                            else
                            {
                                MessageBox.Show("Xóa không thành công");
                            }
                        }
                    }
                }
                }
            }
        }

        private void txtdongia_KeyPress_1(object sender, KeyPressEventArgs e)
        {
            if (char.IsDigit(e.KeyChar) == false && char.IsControl(e.KeyChar) == false)
            {
                e.Handled = true;
            }
        }

        private void nuthuydv_Click(object sender, EventArgs e)
        {
            key = -1;
            txtmadv.Text = "";
            txtmadv.ReadOnly = true;
            txttendv.Text = "";
            txttendv.ReadOnly = true;
            txtdongia.Text = "";
            txtdongia.ReadOnly = true;
        }
    }
}
